package com.platform.module.dao.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.platform.module.dao.enums.task.UserBonusTaskStateEnum;
import com.platform.module.dao.enums.task.UserBonusTaskTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@ToString
@TableName("tm_user_bonus_task")
@EqualsAndHashCode
public class UserBonusTaskRecord implements Serializable {
    /**
     * 体彩金任务列表
     */
    @TableId
    private Long id;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 任务类型 {@link UserBonusTaskTypeEnum}
     */
    private String taskType;

    /**
     * 状态：100-进行中，200-任务完成，300-任务终止 {@link UserBonusTaskStateEnum}
     */
    private Integer state;

    /**
     * 完成任务时间
     */
    private LocalDateTime completionTime;

    /**
     * 完成任务获得金额
     */
    private BigDecimal taskAmount;

    /**
     * 进行中的金额
     */
    private BigDecimal completedAmount;

    /**
     * 目标金额
     */
    private BigDecimal targetAmount;

    /**
     * 倍数
     */
    private BigDecimal multiple;

    /**
     * 权重，越大越前
     */
    private Integer weight;

    /**
     * 备注
     */
    private String note;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 任务结束时间
     */
    private LocalDateTime endTime;


    /**
     * 金额转入状态：0-未完成，1-已完成，2-取消
     */
    private Integer verifyAmount;

    /**
     * 金额领取时间
     */
    private LocalDateTime verifyTime;


    private String pkid;

    private String appId;

}